Fix and beef up test bug for move_if_noexcept git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131483 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/test/utilities/utility/forward/move_if_noexcept.pass.cpp b/test/utilities/utility/forward/move_if_noexcept.pass.cpp index a13336e..8a0eba0 100644 --- a/test/utilities/utility/forward/move_if_noexcept.pass.cpp +++ b/test/utilities/utility/forward/move_if_noexcept.pass.cpp 
@@ -12,7 +12,7 @@  // template <class T>  // typename conditional  // < -// !has_nothrow_move_constructor<T>::value && has_copy_constructor<T>::value, +// !is_nothrow_move_constructible<T>::value && is_copy_constructible<T>::value,  // const T&,  // T&&  // >::type @@ -32,24 +32,32 @@  #endif  };   +struct legacy +{ + legacy() {} + legacy(const legacy&); +}; +  int main()  {  int i = 0;  const int ci = 0;   + legacy l;  A a;  const A ca;    #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES  static_assert((std::is_same<decltype(std::move_if_noexcept(i)), int&&>::value), "");  static_assert((std::is_same<decltype(std::move_if_noexcept(ci)), const int&&>::value), ""); - static_assert((std::is_same<decltype(std::move_if_noexcept(a)), const A&>::value), ""); - static_assert((std::is_same<decltype(std::move_if_noexcept(ca)), const A&>::value), ""); + static_assert((std::is_same<decltype(std::move_if_noexcept(a)), A&&>::value), ""); + static_assert((std::is_same<decltype(std::move_if_noexcept(ca)), const A&&>::value), "");  #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES  static_assert((std::is_same<decltype(std::move_if_noexcept(i)), const int>::value), "");  static_assert((std::is_same<decltype(std::move_if_noexcept(ci)), const int>::value), "");  static_assert((std::is_same<decltype(std::move_if_noexcept(a)), const A>::value), "");  static_assert((std::is_same<decltype(std::move_if_noexcept(ca)), const A>::value), "");  #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES + static_assert((std::is_same<decltype(std::move_if_noexcept(l)), const legacy&>::value), "");    }